/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
// pinputdev.hpp - pure virtual base class for all types of input devices
//
// Copyright (c) 1997-2008 Swell Software, Inc.
//              All Rights Reserved.
//
// Unauthorized redistribution of this source code, in whole or part,
// without the express written permission of Swell Software, Inc.
// is strictly prohibited.
//
// Notes:
//
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/

#ifndef PINPUTDEV_HPP_
#define PINPUTDEV_HPP_

/*-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
class PegInputDevice 
{
    public:

        PegInputDevice(void) {}
        virtual ~PegInputDevice() {}

        virtual void Run(void) = 0;

        virtual PEGBOOL Initialize(void) {return TRUE;}
        virtual PEGBOOL Poll(void) {return FALSE;}
        virtual PEGBOOL Shutdown(void) {return TRUE;}

        static PEGBOOL ReadyInputDevices(void);
};

#endif  // PINPUTDEV_HPP_

